/*
 * Copyright (C) 2017-2019 HERE Europe B.V.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * SPDX-License-Identifier: Apache-2.0
 * License-Filename: LICENSE
 */

package com.here.xyz.models.geojson.declaration;

/**
 * Abstract interface that represents a mutable latitude / longitude value.
 */
public interface ILonLat {

  /**
   * Returns the latitude value.
   *
   * @return the latitude value.
   */
  double latitude();

  /**
   * Sets the latitude value.
   *
   * @param lat The latitude value to be set.
   */
  void setLatitude(double lat);

  /**
   * Returns the longitude value.
   *
   * @return the longitude value.
   */
  double longitude();

  /**
   * Sets the longitude value.
   *
   * @param lon The longitude value to be set.
   */
  void setLongitude(double lon);
}
